1. Introduction

1.1 Overview
1.2 Requirements
1.3 Script Timer is Shareware
1.4 Contacting Apps & More Software Design
1.5 Version History

2. Using Script Timer

2.1 Setup
2.2 How It Works
2.3 Three Ways to Start the Program
2.4 Bailing Out
2.5 The Data File
2.6 The Log File
2.7 Helpful Hints
2.8 Sample Scripts

3. How to Register

3.1 Submitting Your Registration and Registration Fee
3.2 Fully Enabling Your Copy of Script Timer

4. Fine Print
 

Appendix A: Error Messages
Appendix B: Sample Parameterized Script

 

1. Introduction
 

1.1 Overview - Script Timer is an easy to use background application that lets you schedule the execution of Open Scripting Architecture (OSA) based scripts, such as those created using AppleScript. It allows you to run your scripts at any time on a daily, weekly, weekdays only, monthly, or one time basis as well as at regular intervals ranging from minutes to weeks. Because Script Timer handles all of the scheduling details, you can write short, easy to follow task oriented scripts to perform such diverse tasks as checking your e-mail at set times, reminding you of an upcoming appointment, or downloading one or more large files from the Internet overnight. Unlike with some other scheduling software, installation of Script Timer has no impact on your System Folder, and it has an extremely small memory footprint.

1.2 Requirements - Script Timer will work on any Macintosh running System 7.5 or later.
 

1.3 Script Timer is Shareware - Script Timer is a shareware product. If you find it useful, please consider paying the shareware registration fee. The fee is US$10 for a single user, US$300 for a site license (equal to 30 users), or US$600 for a worldwide license for your organization.
 

By becoming a registered user you will not only help to support our efforts to produce more and better products, but you will be provided with a personalized registration code that will unlock the full power of the program and eliminate the periodic registration reminders that will appear. You will also receive an AppleScript that will allow you to schedule Internet file downloads using the popular Internet engine Anarchie, or its successor, Interarchy. Please see "How to Register" below for further information on how to register your copy of the program.

 

1.4 Contacting Apps & More Software Design - We welcome your comments, questions, and criticisms. Please let us know if you have any suggestions for improvements to Script Timer, or if you have another application you would like to see developed that would make your life easier. You can contact us at:
 

WWW: http://www.theboss.net/appsmore

email: appsmore@kagi.com
 

Registered users are eligible to receive free technical support for Script Timer via email, and will be notified of any updates and news about the product.

 

1.5 Version History
 

2000 September Version 1.0 (beta 1) Released
2000 October Version 1.0 (beta 2) Released
2000 November Version 1.0 (beta 3) Released
2000 December 1 Version 1.0 (beta 4) Released
2000 December 15 Version 1.0 Released

2. Using Script Timer
 

2.1 Setup - Script Timer may reside anywhere on your system. However, it is a good idea to keep it and this document in a separate folder, along with the script, data, and log files discussed below.
 

The first time you launch the program, you will be asked to locate a default folder containing the scripts that you want to schedule to run. You can use any folder you wish and scripts you want to schedule need not reside in it; however, it is strongly recommended that you create a new folder especially for this purpose. This should be done BEFORE you start the program for the first time. It is also a good idea to put this folder into the same folder as the Script Timer application. Alternately, you may wish to use the Sample Scripts folder that comes with Script Timer as your default folder. It already contains several useful scripts for you to schedule with the program.
 

To create the new folder:
 

- open a window for the folder in which you wish to place it by double clicking on that folder
- select New Folder from the File Menu of the Finder, or type command - N
- type in a name for your new folder, such as "Script Timer Scripts", and hit Return.
 

When you launch Script Timer and see the Choose Folder dialog, navigate to your new folder and choose it.
 

Script Timer is intended to run in the background as long as your computer is on, so you should make an alias of the program and place it in the Startup Items folder in your System folder. Script Timer will then be started whenever your computer starts up. Just be sure to manually start the program at least once before relying on the alias to start it. Otherwise, your startup process will be halted until you locate the designated script folder.
 

To make an alias, select the Script Timer icon in the Finder, and choose "Make alias" from the File menu, or type command-M. Then drag the alias icon onto the Startup Items folder in the System Folder.

 

2.2 How It Works -Whenever Script Timer is launched, it looks for a plain text file referred to as "the data file" (see below). You tell the program what scripts you wish to run, which days or time intervals you want the scripts to be run, and the time of day you want the runs to start, by entering the information into this file. Script Timer creates an internal list of script items (the "script list") from this information. Every day at midnight if it is running, when it is launched, or after a new data file has been chosen, Script Timer takes the information in the script list and creates a list of script runs for the rest of the day (the "daily run list"). As it runs in the background, Script Timer periodically monitors the system time, and, when a run time has passed, it executes the scheduled script.
 

Unregistered copies of Script Timer are limited to acting on only the first three script items in the data file, and these can only be scheduled for a specific day of the week, or at an interval of some number of hours. This should be more than sufficient to evaluate the program. Registered copies of the program can have a virtually unlimited number of script items in the data file, and have a wide variety of scheduling options, which are discussed below.
 

When the program prepares its daily run list, run times prior to the start up time of the program are discarded. This is so that if you restart Script Timer in the middle of the day, you will not get an unwanted script execution (possibly a duplicate) starting as the program realizes a run time from earlier in the day has already passed. The exception to this behavior is for the case of one time runs (discussed below). In this case, if the specified run time has already passed when Script Timer is started, the script run will be scheduled for the next day at that time. Otherwise, the requested action would never be carried out.

 

2.3Three Ways to Start the Program
 

1. Automatic Start on System Boot Up - As discussed in Setup above, this is the usual way to start the program. Just place an alias of the program in the Startup Items folder of your System folder. The program will start up as part of your system startup sequence and continue to run in the background, monitoring for the passage of run times.
 

2. Double Click on Program Icon - If you don't want the program to be running all the time, or if you have had to terminate it for some reason, you can simply start it as you would any other application. It will then continue to run in the background as discussed above.
 

3. Drag and Drop - You can drag and drop the icon of a valid data file (see below) located anywhere on your system onto the Script Timer icon, and this will start the program, using that data file for the script execution information and making it the default data file. To perform a drag and drop, click on the file icon and while keeping the mouse button depressed, drag the icon over top of the Script Timer icon. Release the mouse button when the Script Timer icon highlights. Note that if you drag and drop a valid data file onto the Script Timer icon while the program is running, that file will become the new data file, and a new script list and daily run list will be created.
 

If your copy of the program is not registered, you will see the registration dialog every time you launch using drag and drop. You are not required to register to continue, but should you wish to obtain a valid registration code, you can run the Register program by clicking on the Run Register button in the dialog. See Section 3.2, Fully Enabling Your Copy of Script Timer, below for more details.

 

2.4 Bailing Out - If you need to quit Script Timer, just make it the front most application by choosing it in the Application Menu at the extreme right of your menu bar, then choosing Quit under the File menu or typing command-Q. A termination message will appear in your log file (see below).
 

If you wish to quit a script that is already in progress, make it the front most application and issue a Quit command as described above. An error message with error number -128 will appear in your log file.

 

2.5 The Data File - Since Script Timer is meant to be run unobtrusively in the background, it has a very simple user interface. You enter your script scheduling information into a plain text file, using for example the SimpleText application that comes with all Macintosh computers running OS 9 or earlier. Whenever Script Timer is launched, it checks for any change to the data file since the last time it started, either a modification of the current data file, or a change of data file. If a change is detected, it reads the data stored in the modified or new data file and prepares an internal list of run items referred to as the script list. Otherwise, execution proceeds with the previously established script list. After this, and daily at midnight if it is running, Script Timer prepares a run list for the day from the script list. Note that the data file is not consulted any further until the next time the program is restarted. If you make any changes to the data file, they will not be noticed until you either stop and restart Script Timer, or drag and drop the altered file onto the Script Timer icon. Only then will a new script be list created.
 

When Script Timer is launched for the very first time, it looks for a file called "Script Timer data" located in the same folder as the folder you specified to hold your scripts. This should be the name and location of your initial data file. (A data file of this name containing inactive examples already exists in the Script Timer folder.) If the program cannot find a file of this name, it will display a Choose File dialog and ask you to locate your data file. If you do not make a choice, you will see the error message "The data file "Script Timer data" was not found" and you will have no option but to quit the program. See the explanations of error messages in Appendix A for further discussion.
 

If you launch the program by dragging and dropping another valid data file onto its icon, you change the default data file to that data file. Thereafter when the program is launched, it will look for the new data file. If this file cannot be found you will get the error message described in the previous paragraph, with only the name of the missing file being different.
 

Unregistered copies of Script Timer will display a Registration Dialog (see How to Register below) when you start the program using drag and drop. If you do not yet have your registration code, simply click on the "Not Yet" button to dismiss it. Once a valid registration code is entered in the dialog, it will not be seen again.
 

The format of a run item is straightforward: script name <tab>frequency<tab> time
 

Each of the three fields must be separated by a single tab character (denoted by <tab> above), and there must be only one run item per line. If there is more than one tab between each field, or a trailing tab, you will get an error. See Appendix A.
 

Any line beginning with an exclamation mark (!) is ignored, so that you can include comments or notes, or temporarily exclude a run item from consideration. There is no limit to the number of entries in a data file; however; unregistered copies of the program will only deal with the first three lines in the file that do not start with an exclamation mark.
 

script name is the name of a script that you want to run. The name may contain spaces, and it may also be followed by an optional list of parameters separated by commas and enclosed in parentheses. These parameters are substituted one-for-one for items in the parameter list that ends the first line of the run handler of your script. See Appendix B for an example of a parameterized script. If a script is not located in your default script folder, then Script Timer will ask you to locate it on your system.
 

frequency specifies when you want the script to be run. There are two types of frequencies: specified time or time interval. At present, the specified time frequencies are: once, daily, weekdays, and the names of the days of the week. In addition, you can specify a given day of the month, or a given weekday each month. Recognized time intervals are any number of minutes, hours, days, and weeks. Unregistered copies of the program will only accept the names of the days of the week or a number of hours, and not any of the other recognized frequencies.
 

once - The script will be run one time only. If the designated run time has already passed when Script Timer is launched, the script will run on the following day at the designated time. Note: After the script has run, Script Timer removes the item from its internal script list. However, the item is not removed from the data file. Therefore, if you stop Script Timer and restart it with any change to the data file, the item will again be scheduled for execution. To prevent this, simply remove the item from the file after the program has be started, or tell Script Timer to ignore it by putting an exclamation mark in front of the URL in the data file. Since Script Timer closes the data file after reading its contents and does not consult it until the next time the program is launched, you can edit the file at any time.
 

daily - The script will be run every day at the designated run time.
 

weekdays - The script will be run Monday through Friday at the designated run time.
 

day name - If the name of the day of the week appears in the frequency field, the script will be run at the designated run time on that day of the week only. Script Timer recognizes the words Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, and Saturday. Abbreviations are not allowed. This is the only specified time option available for unregistered copies of the program. (Unregistered copies can also use a time interval of any number of hours. See below.)
 

day n - The script will be run on the nth day of the month at the designated run time. If n is a negative number, the script will be run on the nth last day of the month. For example "day -1" indicates that the script is to be run on the last day of the month. If n is greater than the length of the month, an error will occur. Therefore, care must be taken if you specify a day greater than 28, the length of the shortest month. It is usually better (and more appropriate) to use a small negative value for n in this case.

nth weekday - The script will be run on the specified occurrence of the week day each month at the designated run time. The recognized ordinals are first, second, third, fourth, and last, and the recognized day names are those indicated above.

n time units - The script will be run repeatedly every time the specified number of time units has passed. n can be any positive number, and the recognized time units are minutes, hours, days, and weeks. Both singular and plural forms are recognized. For example, if you wanted to run a script that checked your e-mail every hour, the frequency would be "1 hour". The only time interval allowed for unregistered copies of the program is any number of hours.(Unregistered copies can also specify a particular day of the week on which to run. See above.)

time is the time of day you want the script to run for specified time frequencies. For time intervals of less than 12 hours, the time will be the time of day you want the first run of the script to start each day. For time intervals of 12 hours or more, it is the time you want the script to start on the first day (i.e. the day you last modified the data file). Depending on the frequency, the run times could be different each day. For example, for a frequency of 13 hours with a start time of 6 PM, the script would run at 6 PM on the day that the internal script list was changed (this only occurs when the data file is modified). Assuming the script list remained the same thereafter, on the next day the script would run at 7 AM and 8 PM, and on the day after that at 9 AM and 10 PM, and so on.

You may use either a 12 or 24 hour clock, separating the hours, minutes, and seconds (if included) by colons (:). If you use a 12 hour clock, you must include PM if you want the time to be between noon and midnight. You should also include AM for times between midnight and noon for clarity. Putting a space between the time and AM or PM is optional. Note that Script Timer designates 12:00 AM as midnight. Midnight runs will be included in the daily run list of the previous day. See Item 3 in the "Helpful Hints" section below for a discussion of midnight runs.
 

Here are the contents of a sample data file (most script names are fictitious):
 

! This is a comment line and will be ignored by Script Timer.

Reminder(Time to quit!)

weekdays

5:00 PM

MyDLScript

once

23:00

Reminder(Time to go to bed)

daily

11:00 PM

MyBackupScript

Saturday

2:00 AM

!Reminder(Math class in 5 minutes)

daily

9:55AM

CheckMail

1 hour

8:30 AM

Defrag Script

day -1

11:00 PM

Payroll Script

2 weeks

6:00

Reminder(Staff Meeting in 10 minutes)

second Friday

3:50 PM

 

Explanation
 

Line 1: Use comment lines to annotate your data files by making an exclamation mark the first character in the line.
 

Line 2: This line will run a script called Reminder that takes a single parameter at five in the afternoon Monday through Friday. Note that the message should not be inside quotation marks. See Appendix B for a discussion of parameterized scripts.
 

Line 3: This line will run a hypothetical script for downloading from the Internet starting at eleven o'clock in the evening once. Note that unless the line is removed or disabled by putting an exclamation mark as its first character, the site will continue to be downloaded once every time the Script Timer data file is modified.
 

Line 4: This line will run the Reminder script at eleven o'clock in the evening seven days a week. In this example file, on the day that MyDLScript is run, the Reminder will not start until that script is completed. If two run items are scheduled at the same time, as in lines 3 and 4, the one appearing first in the data file will run to completion first.
 

Line 5: The script "MyBackupScript" will be run Saturdays only at 2 AM.
 

Line 6: An exclamation mark is used to temporarily disable a script from being run.

Line 7: Each day starting at 8:30 AM, the script "CheckMail" will be run every hour. If your computer is not running at 8:30 AM, the script will first run on the next scheduled time after it was started (9:30 AM, 10:30 AM, and so on.) If your computer remains on, the script will continue to be run every hour until 11:30 PM, the last scheduled run time for the day.

Line 8: The script "Defrag Script" will be run on the last day of every month at 11 PM. Note that spaces are allowed in the script name.

Line 9: The script "Payroll Script" will be run every two weeks, starting from the last date the Script Timer data file was modified, at 6 in the morning.

Line 10: The Reminder script will be run on the second Friday of every month at 3:50 PM.

 

2.6 The Log File - If it does not already exist from a previous run of the program, a plain text file called "Script Timer log" is automatically created in the same folder as the program whenever Script Timer is launched. This is referred to as the log file.
 

Since Script Timer is meant to run while your computer is unattended, it attempts to mitigate any error conditions that might arise so as to keep running. The error conditions are simply noted in the log file for later examination. The log file is also used to record successful actions taken by the program, such as the completion of a script execution, so that you can see what it has done for you while running in the background. If your copy of Script Timer is not registered, it will also include an occasional reminder to register if you seem to be making good use of the program.
 

The only error conditions not recorded in the log file are those occurring during the launch of Script Timer that would not allow the program to function at all, such as a missing or empty data file, or a script named in the data file that cannot be found. These errors require user action to resolve, and therefore Script Timer will not proceed.
 

A list of all error and other messages produced by Script Timer is given in Appendix A.
 

You can examine the log file with any text editor such as SimpleText to see what scripts Script Timer has run, and what problems if any have occurred. Note that the contents of the log file will continue to grow over time - you must use a text editor to clear any messages you no longer want to keep. Note that if your file becomes too large (larger than 32 kilobytes), it will not be openable by SimpleText.

If Script Timer wants to log a new message while the log file is open in another program (your text editor for example), it will create a new log file called "Script Timer log#" and write to that file. To keep all of your log messages together, you can copy the contents of the extra file to the original log file then delete the extra file. You may also delete or rename the original log file and rename the extra file to "Script Timer log" making it the default log file.
 

The following is a sample of the contents of a log file:

Sunday, 2000 December 3 11:13:09 PM: Script Timer restarted.

Sunday, 2000 December 3 11:13:10 PM: Creating new script list.
Sunday, 2000 December 3 11:13:26 PM: New script list created using data file "Script Timer data".

Sunday, 2000 December 3 11:13:39 PM: New run list with 4 items created.

Sunday, 2000 December 3 11:15:13 PM: Execution of <test script()> started. Run Number: 1

Sunday, 2000 December 3 11:15:23 PM: <test script>completed.

Sunday, 2000 December 3 11:20:25 PM: Execution of <test script()> started. Run Number: 2

Sunday, 2000 December 3 11:20:37 PM: <test script>completed.

Sunday, 2000 December 3 11:27:46 PM: Script Timer terminated.

 

2.7 Helpful Hints
 

1. Obviously, your computer must be running for Script Timer to do its work. If you want to run some scripts while you are away from your computer, and you do not want it to idle for long periods of time, you can use the Energy Saver control panel to automatically start up and shut down your machine at selected times. (Note that this control panel is not available on all Macintosh models. If your computer does not, you must leave it running over the period you want your scripts to be run.) To open the Energy Saver control panel, select Control Panels under the Apple menu, and then choose it from the list of control panels in the hierarchical menu. You can then click on the Schedule tab and enter the desired startup and shut down times. If you have an alias to Script Timer in the Startup Items folder in your System Folder (see the Setup section above), the program will automatically launch and do its work when the computer starts up.
 

2. If you have an external modem, make sure that it is powered on if you are running a script that downloads files. Otherwise whatever download program your script is controlling will not be able to connect to the Internet.
 

3. It may not be a good idea not to start a script run too close to midnight. At midnight, Script Timer creates a new list of run items for the new day from the master script list. (Note however, that a run scheduled for exactly 12:00 AM will be in the previous day's run list and will execute first.) If a script run is in progress at midnight, the new daily run list will not be created until the run is completed, which could be some time later. If list creation starts after a scheduled run time, that item will be discarded just as if you had restarted the program during the day.

4. If the application you use to create the data file allows you to change the tab stops, you should make them far enough apart so that it is obvious if you accidentally attempt to separate fields in a run item with spaces instead of tabs.

5. Script Timer prepares a new internal master script list every time you change or modify the data file and restart the program. A separate list entry is made for each interval when an interval frequency is chosen. It may take a considerable length of time for a large number of list entries to be created, and the program may appear to be hung during this time. You should take this into consideration when specifying an interval frequency. For example, in the worst case scenario, an time interval of 1 minute starting at midnight will generate 1440 list entries. You may need to increase the memory allocation for the program if your master script list is very long. See Item 8 below.

6. As stated in Setup, if you specify a script in your data file that is not in your default script folder, you will be asked to locate it via a Choose File dialog. Since Script Timer processes each line in the data file independently, this will occur every time the script name appears in the data file. If you plan to schedule the use of a script with Script Timer several times in your data file, it is a good idea to move it into the default script folder that you specified when you first launched the program.

7. Since the log file grows as the program is used, it will eventually exceed the 32K size limit imposed by SimpleText and will then not be openable by that program. You should remove unwanted entries from the log file on a regular basis to avoid this situation if you plan to use SimpleText to examine the file.

8. If you receive a "-108" error (not enough memory) on quitting Script Timer, go to the Finder, click on the Script Timer icon, and then select "Get Info" from the File menu and increase the "Preferred Size" value in the Memory Requirements. This error may occur if your script list is large.

 

2.8 Sample Scripts

See the accompanying folder "Sample Scripts" for some examples of useful AppleScript scripts to get you started using Script Timer. You may also wish to place your own scripts in this folder and use it as your default script folder.

Registered users of Script Timer will receive an AppleScript for scheduling Internet FTP file downloads using the popular Internet engine Anarchie, or its successor, Interarchy. This is particularly handy for scheduling downloads of software updates and other larger files while you are away from your computer.

 

3. How to Register
 

3.1 Submitting Your Registration and Registration Fee
 

Apps & More Software Design uses the Kagi shareware registration system. You can register your copy of Script Timer electronically using a major credit card, or you can print out and mail in the registration form with a check or money order. You register electronically either on line, or by using the Register application that came bundled with Script Timer to generate a registration form that you can email or fax to Kagi. You also use the Register application to print out a paper copy of the registration form to be sent by conventional mail if you wish to register that way.

It is very important to provide either an e-mail address or a postal address so that Kagi can send you your registration code. This code will unlock the full features of the program. (See Section 3.2.) If you do not have an email address you should consider selecting the Postcard Receipt .

The registration fees for Script Timer are given in Section 1.3.
 

Registering Online (credit card)

1) Point your web browser at <http://order.kagi.com/?95N>
2) Fill out all of the information, including your email address, the program you wish to register, and your credit card information.
3) Send the information.

 

Registering By Email (credit card)

1) Run the Register application.
2) Fill out all of the information, including your email address, the program you wish to register, and your credit card information.
3) Save the information to a text document, then copy and paste it into the body of an email message. Send the email to: shareware@kagi.com

 

Registering By Fax (credit card)

1) Run the Register application.
2) Fill out all of the information, including your email address, the program you wish to register, and your credit card information. If you do not have an email address, please enter your complete postal address
3) Print out the registration form, and fax it to: +1 (510) 652-6589

 

Registering By Snail Mail (credit card, check, money order)

1) Run the Register application.
2) Fill out all of the information, including your email address, the program you wish to register. If you do not have an email address, please enter your complete postal address, including your country. (If you want to pay with a credit card, fill out that information as well.)
3) Print out the registration form. Then bundle up the registration form and your check or money order (if you're not paying by credit card) and mail it to:

Kagi Shareware
1442-A Walnut Street #392-95N
Berkeley, CA 94709-1405
USA

 

3.2 Fully Enabling Your Copy of Script Timer
 

Once Kagi has received and processed your registration, you will be sent your individual registration code. You will use this code to unlock the full power of Script Timer. If you register on line, you should receive the code immediately; if you order by email, you should be get the code via a return email a short time later.

If the reply from Kagi does not contain a message from Apps &More Software Design, Inc. including your 8-digit registration code, please contact us immediately.
 

Simply drag and drop a valid data file onto the Script Timer icon as described above in Section 2.4. The Registrar plug-in, which should be in the same folder as Script Timer, will load and the registration dialog will appear. Fill in your registration code and click on the Validate button. The Registrar will check that you have entered the correct code, and if so, the program will proceed using the data file you have just dropped on its icon. If the registration code is invalid, an error message dialog will appear, giving you the opportunity to try again to enter the correct code or to quit the program.
 

If you do not wish to register, but still want to start Script Timer using the drag and drop feature, choose the Not Now button in the registration dialog. If you wish to obtain a valid registration code to register at a later time, choose the Run Register button to run the Register program that came with Script Timer. Once you have dismissed the dialog with either of these buttons, execution will continue as above, but you will still only have restricted access to the program's full feature set.

Once the program is successfully registered, you will not see the registration dialog again.

 

4. Fine Print

Distribution - You may distribute this program electronically in any way you wish as long as you don't charge for it. You are encouraged to pass along the original distribution package to friends and colleagues.
 

Disclaimer - Apps & More Software Design, Inc. hereby disclaims all warranties relating to this software, whether express or implied, including without limitation any implied warranties of merchantability or fitness for a particular purpose. Apps & More Software Design, Inc. will not be liable for any special, incidental, consequential, indirect or similar damages due to loss of data or any other reason, even if Apps & More Software Design, Inc. or an agent of theirs has been advised of the possibility of such damages. In no event shall Apps & More Software Design, Inc. be liable for any damages, regardless of the form of the claim. The person using the software bears all risk as to the quality and performance of the software.

 

Appendix A: Error Messages
 

This appendix contains a list of error messages generated by Script Timer for anticipated problems. If you receive an error message from the program that is not listed here, please contact Apps & More Software Design to report the error message and error number.
 

Error Conditions at Program Launch
 

Error conditions detected at program launch appear in dialog boxes and suspend execution of the program until the user responds. The most likely causes of an error at this time are a problem with the data file or a missing script. The usual user action is to quit Script Timer, correct the problem in the data file, and relaunch.
 

Error opening file: Script Timer log
some error message
Number error number
Script Timer will be terminated.
 

An unexpected error occurred when the program attempted to open the log file. This error will not occur if the log file is already open in another application - a new log file will be created with a '#' appended to the name.

 

Warning! The script list of this unregistered copy of Script Timer has been truncated to 3 items.

Unregistered copies of the program are allowed only three active run items in their script lists. If your data file has more than three active run items, only the first three will be included in the master script list.

 

The Registrar plug-in must be present to register your copy of the program.

You will see this message if Script Timer cannot locate the Registrar plug-in that comes with Script Timer, and when it asks you to do so, you choose 'Cancel' in the Choose File dialog. The plug-in must be present on your system in order to complete the registration process. By default, it resides in the same folder as Script Timer.

 

Sorry, that is not a valid registration code.
the code you have entered
 

Script Timer has failed to recognize the code you have typed in as valid for your copy of the program. Examine the code, find the error if any, correct it and try again. If you believe your entry to be correct (i.e. exactly matching the code sent to you by Kagi), please contact Apps & More Software Design.

 

Incorrect line in data file:
problem line from data file
Must be of form "script name<tab>frequency<tab>time".
Error Number -32767
Script Timer will terminate. Please correct the error and restart.
 

Every line in the data file that does not start with an exclamation mark (!) must be in the form indicated. There can be three items only, separated by tabs (indicated above by <tab>). (Note that the script name may contain spaces, and that the space between the time and the 'AM' or 'PM' indication is optional. If the data line looks correct, but you still get this error, check that you have not inadvertently substituted spaces for tabs, or that you have not included extra tabs between the data fields or at the end or beginning of the line.

 

Error -32766: Incorrect specified run frequency: "frequency".
Specified run frequency must be "once", "daily", "weekdays", or the name of a day of the week.
Please correct the error and restart.
 

The program will accept only the indicated words (without quotes) as specified run frequencies. The days of the week are known to the program as Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, and Saturday.

 

Error -32765: Incorrect specified run frequency: "frequency".
For unregistered copies of Script Timer, specified frequency must be the name of a day of the week."
Please correct the error and restart.
 

Unregistered copies of the program will accept only the names of the days of the week as specified run frequencies. The days of the week are known to the program as Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, and Saturday. Register the program as indicated in Section 3 to enable the other specified run frequencies.

 

Error -32764: The data file "filename" contains no active entries. Lines starting with "!" are ignored.
Please correct the error and restart.

The current data file is not empty, but all lines in it start with an exclamation mark ("!"). Such lines are ignored when Script Timer makes up the master script list, so no scripts can executed. This is the initial state of the sample data file included with the program.

 

Error -32763: The script "script name" was not located.
Please correct the error and restart.

When Script Timer cannot locate the script "script name" in the data file, it presents the user with a Choose File Dialog, giving the user an chance to indicate where the script resides on your system. This error is caused by choosing "Cancel" in the dialog.

 

Error -32762: Unknown error checking run frequency of script list entry.
Please correct the error and restart.

If you see this error message, please send a report to Apps & More Software Design outlining the circumstances under which the error was generated.

 

Error -32761: Time interval must be positive.
Please correct the error and restart.

Interval run frequencies always start with a number which indicates the number of minutes, hours, days, or weeks . This number must be greater than zero.

Error -32760: Incorrect time interval unit "time unit"
Please correct the error and restart.

The time unit for an interval run frequency must be one of minutes, hours, days, or weeks, or the singular forms of these.

Error -32759: Incorrect run frequency: "day n"
Illegal day of of month.
Please correct the error and restart.

The day of the month, n, must be a non zero integer whose absolute value must be less than or equal to the number of days in the current month.

 

Error -32758: Incorrect run frequency: "day xxxx"
Day of month must be a number.
Please correct the error and restart.

The form of the monthly frequency interval is "day n", where n is an integer.

 

Error -32757: Incorrect run frequency: "xxxx day name"
Unrecognized ordinal.
Please correct the error and restart.
 

When specifying a specific weekday of the month as a frequency, the only ordinals allowed are first, second, third, fourth, and last.

 

Error -32756: Incorrect run frequency: "ordinal xxxx"
Unknown weekday name.
Please correct the error and restart.

When specifying a specific weekday of the month as a frequency, the name of the day was not recognized by the program. Check your spelling carefully. The recognized spellings are given here.

 

Error -32743: The data file "file name" was not found.
Please correct the error and restart.
 

The data file should be in the same folder as it was when Script Timer was last launched. If it is not found there, the program will display a Choose File dialog and ask you to locate it on your system. You will see this error message if you choose "Cancel" in the Choose File dialog.

 

Error -30720: Invalid date and time xxxx
Please correct the error and restart.
 

Script Timer does not recognize the string xxxx as a valid date and time. The time string in the data file must contain only numbers, which may be separated by colons (:) to indicate hours, minutes (optional), and seconds (optional), and the 'AM' or 'PM' designation. A 12-hour or a 24-hour clock may be used. Minutes and seconds, if present, must be in the range 0 to 59.

 

Error -43: The data file "file name" is empty.
Please correct the error and restart.

The data file was located, but it does not contain any data, even comments.

 

Error Conditions and Other Messages After Program Launch
 

Once Script Timer has read the data in the data file, determined that it has the correct form, and used it to create a master script list, the program is assumed to be running unattended. Therefore, it endeavors to handle all error conditions on its own, and to carry on running. All error and other messages are recorded in the log file, starting with a time stamp so that you can see later what happened and when it happened.

The general form of a messages is:

Time stamp: message

where message is one of the following:

Script Timer restarted.

This message is recorded in the log file when the program is restarted by any means other than dragging and dropping a valid data file icon onto the program icon.

 

New script list created using data file "data file name "

This message appears in the log file whenever a new master script list has been created. It will occur when the program is restarted by dragging and dropping a valid data file icon onto the program icon, or when Script Timer detects that the current data file has been changed.

 

Using existing script list from data file "data file name "

This message appears in the log file whenever Script Timer is restarted and the current data file has not been changed since it was last started.

 

New run list with n items created.

Whenever you start Script Timer, and every day at midnight, the program prepares a run list for the new day from the master script list kept by the program. This message confirms that a new run list has been created, and how many items are on it for the rest of the day. Run items with start times earlier in the day than the time of creation of the new run list will be excluded from the list. Runs scheduled for exactly midnight (12:00 AM) will be included in the previous day's run list.

 

Script Timer terminated.

The message indicates that Script Timer has been sent a "quit" message either by you quitting the program, or by the operating system (for example, on system shutdown).

 

Execution of <script name(parameter list)>started.
Run Number: run count

This message indicates that the named script has been started by Script Timer using the indicated parameters. (See Appendix B.) The run number is the cumulative number of scheduled script launches that the program has made.

 

<script name> completed.

This message indicates that the named script has run to completion.

 

Warning! Execution time exceeds 3600 seconds. Execution of <script name> will be allowed to finish.

The named script has not completed within one hour. This message is for information purposes only. As indicated, your script will be allowed to continue running.

 

Error attempting to execute <script name> Number error number:
Error message

The named script has generated the error indicated while attempting to execute, and has not handled that error on its own. The script will have terminated at the point of the error.

 

Appendix B: Sample Parameterized Script

While Script Timer can be used to schedule the execution of any script, there are times when a parameterized script is convenient - for example if you want to display various messages to yourself at different times of the day. As such scripts are less common than non parameterized scripts, they are discussed here.

AppleScript allows you to pass parameters to a script. The script must have a run handler, and the parameters are contained within curly braces as a comma separated list at the end of the first line of the run handler. If you include a comma separated list of values for these parameters between parentheses at the end of the script name in your data file, Script Timer will substitute them one for one for the parameters in the curly braces. Note that a value must be included for every parameter, and that Script Timer will interpret each parameter as a character string. Your script may need to explicitly convert the character string into a different variable type. (This is not necessary for numbers, AppleScript does the conversion implicitly.)

A parameterized script has the general form shown below. (There is no restriction on the number of parameters.) Note that you can only compile, not run, a parameterized script in the AppleScript Script Editor. If you try to run it, you will get an error, because the Run button in the Script Editor does not send any parameter values.

on run {parameter 1, parameter 2, parameter 3}
-- AppleScript statements using the parameters go here
end run

Assuming you have entered this script into the Script Editor and saved it as a compiled script named "MyScript", here are two sample data file lines showing you how to use it:

MyScript(value 1, value 2, value 3)

Monday

8:30

MyScript(value 4, value 5, value 6)

daily

3:55 PM

If placed in your data file, these lines will cause MyScript to be run every Monday morning at 8:30 AM with the values value 1, value 2, and value 3 substituted in the script for the parameters parameter 1, parameter 2, and parameter 3, and every day at 3:55 PM with a different set of values value 4, value 5, and value 6 being used in place of the three parameters. See the Sample Scripts folder for an actual example of a parameterized script.